home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / TDBCLASS.PAK / TDBCLASS.CPP < prev    next >
C/C++ Source or Header  |  1997-05-06  |  3KB  |  112 lines

  1. //----------------------------------------------------------------------------
  2. //  Project Tdbaccap
  3. //  
  4. //  Copyright ⌐ 1996. All Rights Reserved.
  5. //
  6. //  SUBSYSTEM:    Tdbclass Application
  7. //  FILE:         tdbclass.cpp
  8. //  AUTHOR:       
  9. //
  10. //  OVERVIEW
  11. //  ~~~~~~~~
  12. //  Source file for TDBWindow.
  13. //
  14. //----------------------------------------------------------------------------
  15.  
  16.  
  17. #include <owl\pch.h>
  18. #include <vdbt\dbedit.h>
  19. #include <vdbt\dbnvgtr.h>
  20. #include <vdbt\dbacc.h>
  21.  
  22. //derived class that will contian the VDBT controls
  23. class TDBWindow : public TWindow , public TVbxEventHandler
  24. {
  25. public:
  26.    TDBWindow( );
  27.    ~TDBWindow(){};
  28.  
  29.    virtual void SetupWindow();
  30.  
  31. protected:
  32. //
  33. // the new TDB- data access control classes
  34. // these classes are ment to be used in a window when
  35. // you do not have a vbx you have dropped on a dialog and
  36. // you want to connect a data aware control to the data access control
  37. //
  38.    TDBDataSource *DBDataSource;
  39.    TDBTable *DBTable;
  40. //
  41. // data aware controls to be conected to the data access controls above
  42. //
  43.    TDBEdit *DBEdit;
  44.    TDBNavigator *DBNav;
  45.  
  46.    DECLARE_RESPONSE_TABLE( TDBWindow );
  47. };
  48.  
  49. DEFINE_RESPONSE_TABLE2( TDBWindow , TWindow , TVbxEventHandler )
  50. END_RESPONSE_TABLE;
  51.  
  52.  
  53. TDBWindow::TDBWindow()
  54. : TWindow( 0 , "TDBWindow" )
  55. {
  56.    // set the size of the window
  57.    Attr.X=10;
  58.    Attr.Y=10;
  59.    Attr.W=220;
  60.    Attr.H=150;
  61. //
  62. // since the C++ classes are created in the constructor, the controls
  63. // are listed on the child list of the TWindow class and we do not
  64. // have to call the Create member function of these classes.  If
  65. // they were created outside of the constructor, it would be neccassary
  66. // to call the Create functions.
  67. //
  68.    DBDataSource = new TDBDataSource(this,1100, "Test DBDataSource");
  69.    DBTable= new TDBTable(this,1200,"Test TDBTable");
  70.    DBEdit = new TDBEdit( this , 102, "", 10, 70, 200, 20 );
  71.    DBNav= new TDBNavigator(this,103,"",10,30,200,30);
  72. }
  73.  
  74. void
  75. TDBWindow::SetupWindow()
  76. {
  77.    TWindow::SetupWindow();
  78.    try {
  79.         DBTable->DatabaseName= string("DivePlan");
  80.         DBTable->TableName = string("names.db");
  81.         DBDataSource->DataSet= DBTable;
  82.         DBEdit->DataSource = DBDataSource;
  83.         DBNav->DataSource= DBDataSource;
  84.         DBTable->Open();
  85.         DBEdit->DataField= DBTable->FieldByName(string("Name"));
  86.         DBTable->TDataSet::Refresh();
  87.    }
  88.    catch (BDTException e)
  89.    {
  90.        e.Show("Error");
  91.    }
  92. }
  93.  
  94.  
  95. class App :public TApplication
  96. {
  97. public:
  98.    App() : TApplication( "TDBWindow App" ) {};
  99.    ~App() {}
  100.  
  101.    void InitMainWindow() { SetMainWindow( new TFrameWindow( 0 , "TDBWindow" , new TDBWindow(), true )); }
  102.  
  103. };
  104.  
  105.  
  106. int OwlMain(int /*argc*/, char* /*argv*/ [])
  107. {
  108.   TBIVbxLibrary vbxLib;     // constructing this loads & inits the library
  109.  
  110.   return App().Run();
  111. }
  112.